#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;

int main() {
    string str;
    cin >> str;
    int left = 0, right = 1;
    int size = 1;
    int maxlen = 0;
    while (right < str.size())
    {
        while (size <= 2 && right < str.size())
        {
            if (str[right] == str[right - 1])
            {
                right++;
            }
            else
            {
                if (right - left > maxlen)maxlen = right - left;
                size++;
                right++;
            }
        }
        
        
        do
        {
            left++;
        } while (left < right && str[left] == str[left + 1]);
        size--;
    }
    cout << maxlen;
    return 0;
}
//#include <iostream>
//#include<cmath>
//#include<vector>
//using namespace std;
//
//int main() {
//    int n;
//    cin >> n;
//    if (n == 1)cout << 1;
//    else if (n == 2)cout << 2;
//    else if (n == 3)cout << 4;
//    else
//    {
//        vector<int>nums(n);
//        nums[0] = 1, nums[1] = 2, nums[2] = 4;
//        for (int i = 3; i < n; i++)
//        {
//            int pos = i;
//            while (pos--)
//            {
//                nums[i] += nums[pos];
//            }
//            nums[i]++;
//        }
//        cout << nums.back();
//    }
//    return 0;
//}